package org.onionframework.persistence.model.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 模型类标记
 * @author allan
 *
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface DomainModel {

	/**
	 * 标记模型名称，一般是中文名
	 * 
	 * 例如在User类上标记@DomainModel(name="用户")
	 * 
	 * 用于某些通用类型显示的场合，例如打开编辑对话框时，一般是显示“用户-张三”
	 * “用户”来自User类上的这个标记，“张三”来自接口Named
	 * @return
	 */
	String name() default "";
	
	/**
	 * 所属模块的ID
	 */
	String module() default "core.undefined";
	
	String alias() default "";
}
